package com.hyt.it.ogt.pj.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hyt.it.ogt.pj.model.entity.PieceScore;
import com.hyt.it.ogt.pj.model.vo.CommentRecordVo;
import com.hyt.it.ogt.pj.model.vo.OptionItemVo;


/**
 * <p>
 * 评卷块分数表 服务类
 * </p>
 *
 * @author qiaozj
 * @since 2020-07-09
 */
public interface IPieceScoreService extends IService<PieceScore> {

    void deleteStuScoreBySubjectIdAndPieceIdAndEncodeId(String subjectId, String pieceId, String encodeId);


    void deleteStuScoreBySubjectIdAndPieceIdAndEncodeIdAndUserid(String subjectId, String pieceId, String encodeId,String userId);

    /**
     * 查询评卷块分数
     * @param subjectId 科目id
     * @param pieceId 评卷块id，不传则查出科目分数
     * @param encodeId 准考证号
     * @return 评卷块分数
     */
    PieceScore selectPieceScore(String subjectId, String pieceId, String encodeId);
    
    /***
     * 根据taskid获取评分列表
     * @param taskId
     * @return
     */
    List<PieceScore> selectPieceScoreByTaskId(String taskId, String userId);
    
    /***
     * 根据taskid获取评分列表
     * @param taskId
     * @return
     */
    PieceScore selectPieceScoreByTaskIdLimitOne(String taskId);
    
    /**
     * 查询评卷块分数
     * @param subjectId 科目id
     * @param pieceId 评卷块id，不传则查出科目分数
     * @param encodeId 准考证号
     * @return 评卷块分数
     */
    PieceScore selectPieceScoreBySubjectIdAndTaskIdAndEncodeIdAndUserId(String subjectId, String pieceId, String taskId, String encodeId, String userId);

    /**
     * 查询评卷块分数
     * @param projectId 项目Id
     * @param subjectId 科目Id
     * @param encodeId 准考证号
     * @return 评卷块分数
     */
    CommentRecordVo selectCommentRecordVo(String projectId, String subjectId, String encodeId);

    /**
     * 获取专家下的科目
     * @param projectId
     * @param officeId
     * @return
     */
    List<OptionItemVo> getExpertSubject(String projectId, String officeId);

    /**
     * 获取专家下的考点
     * @param projectId
     * @param officeId
     * @return
     */
    List<OptionItemVo> getExpertPlace(String projectId, String officeId);



}


